Print systems include presentation architectures that are provided for representing documents in a data format that is independent of the methods that are utilized to capture or create those documents. One example of an exemplary presentation system, which will be described herein, is the (Advanced Function Presentation) AFP™ system developed by International Business Machines Corporation. According to the AFP system, documents may include combinations of text, image, graphics, and/or bar code objects in device and resolution independent formats. Documents may also include and/or reference fonts, overlays, and other resource objects, which are required at presentation time to present the data properly.
Once the documents are received at a printer, processing is performed to convert a document into a printable format. However, processing high-resolution images in an incoming data stream into a printable format typically involves highly compute-intensive operations (e.g., scaling, rotation, decompression, color conversion, etc.).
Further, it is common for a printer to frequently process repetitive images throughout a print job. For instance, a print job may include a full-page background image or a company logo that appears on every printed page. Thus, printers may cache images to avoid the need to render images that have previously been presented and rendered into sheet maps. Such caching of rendered image bitmaps improves the overall performance of a system provided that the system has a mechanism (such as a hash key or “digital signature” generator) to uniquely identify an image. That is, the printer must be able to accurately identify an image so as to avoid using the incorrect rendered bitmap from the image cache.
In the image transform, a signature is created based on the entire contents of the image. However, this requires that the entire image reside in a memory buffer (or file system) at the point where the signature is created. For Image Object Content Architecture Format (IOCA) images, this is especially limiting given that the input can be processed in a serial manner (e.g., the input can be “streamed” to the image transform). Moreover, there is a need in some printers to uniquely identify an image without having the entire image resident in a memory buffer or file system. For example, in some printing environments, available memory to process images and related objects on each page is extremely limited.
As a result, a mechanism to generate digital signatures for image identification where the image does not entirely exist is desired.